package com.generator.storageManage.outboundManage.service;

import com.generator.storageManage.outboundManage.pojo.OutCountDetail;
import com.generator.storageManage.outboundManage.pojo.CommentDetial;
import com.generator.storageManage.outboundManage.pojo.OutCountDelivery;
import com.generator.storageManage.outboundManage.pojo.OutBoundObject;

import java.util.List;

public interface IOutBoundManageService {

    /**
     * 根据条件查询出库记录
     * @param outBoundObject
     * @return
     */
    public List<OutBoundObject> queryOutBoundList(OutBoundObject outBoundObject);

    /**
     * 更新出库信息
     * @param OutBoundId
     * @return
     */
    public Integer updateOutBoundState(Integer OutBoundId,Integer stateid);

    /**
     * 根据订单id找到指定订单详情
     */
    public OutCountDelivery getDeliveryByOrderId(OutCountDelivery outCountDelivery);

    /**
     * 查询指定订单号下的商品详情
     */
    public List<CommentDetial> getCommentDetialByOrderId(CommentDetial commentDetial);

    /**
     * 查询所有仓库名称
     */
    public List<String> getStorageName();

    /**
     * 根据仓库名称查询仓库id
     * @return
     */
    public Integer queryStorageIdByStorageName(String storagename);

    /**
     * 根据用户名称查询用户id
     * @return
     */
    public Integer queryUserIdByUserName(String username);

    /**
     * 添加出库
     * @param outBoundObject
     * @return
     */
    public Integer addOutBound(OutBoundObject outBoundObject);

    /**
     * 改变订单的出入库状态
     */
    public Integer updateOutBoundlevel(String orderid);
}
